{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "tags": [
     "remove-cell"
    ]
   },
   "outputs": [],
   "source": [
    "import warnings\n",
    "# Ignore numpy dtype warnings. These warnings are caused by an interaction\n",
    "# between numpy and Cython and can be safely ignored.\n",
    "# Reference: https://stackoverflow.com/a/40846742\n",
    "warnings.filterwarnings(\"ignore\", message=\"numpy.dtype size changed\")\n",
    "warnings.filterwarnings(\"ignore\", message=\"numpy.ufunc size changed\")\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "%matplotlib inline\n",
    "import ipywidgets as widgets\n",
    "from ipywidgets import interact, interactive, fixed, interact_manual\n",
    "\n",
    "sns.set()\n",
    "sns.set_context('talk')\n",
    "np.set_printoptions(threshold=20, precision=2, suppress=True)\n",
    "pd.options.display.max_rows = 7\n",
    "pd.options.display.max_columns = 8\n",
    "pd.set_option('precision', 2)\n",
    "# This option stops scientific notation for pandas\n",
    "# pd.set_option('display.float_format', '{:.2f}'.format)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# SRS vs. \"Big Data\"\n",
    "\n",
    "As we have previously mentioned, it is tempting to do away with our long-winded bias concerns by using huge amounts of data. It is true that collecting a census will by definition produce unbiased estimations. Perhaps bias will no longer be a problem if we simply collect many data points.\n",
    "\n",
    "Suppose we are pollsters in 2012 trying to predict the popular vote of the US presidential election, where Barack Obama ran against Mitt Romney. Since today we know the exact outcome of the popular vote, we can compare the predictions of a SRS to the predictions of a large non-random dataset, often called *administrative datasets* since they are often collected as part of some administrative work.\n",
    "\n",
    "We will compare a SRS of size 400 to a non-random sample of size 60,000,000. Our non-random sample is nearly 150,000 times larger than our SRS! Since there were about 120,000,000 voters in 2012, we can think of our non-random sample as a survey where half of all voters in the US responded (no actual poll has ever surveyed more than 10,000,000 voters)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here's a plot comparing the proportions of the non-random sample to the true proportions. The bars labeled `truth` show the true proportions of votes that each candidate received. The bars labeled `big` show the proportions from our dataset of 60,000,000 voters."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [],
   "source": [
    "total = 129085410\n",
    "obama_true_count = 65915795\n",
    "romney_true_count = 60933504\n",
    "obama_true = obama_true_count / total\n",
    "romney_true = romney_true_count / total\n",
    "\n",
    "# 1 percent off\n",
    "obama_big = obama_true - 0.01\n",
    "romney_big = romney_true + 0.01"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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9kr//v2VjIwMzXopKSmKp6en8v7772vKcvv7mZMSfzkui5ubm973+e6772q9btiwIQB37tzJdZsDBw5gZGTEoEGDtMqnTp3K9u3bMTc3Z9++fZibm2f7Refl5YW5ublWEx2gQ4cOmv+XL18eKysratasqfULJesX7vOxjRo1SuuX+bBhw1AUhf379wPw1VdfsW/fPiwtLTXrJCcnU7p0aYBsQzSfP867d+/GwcGBypUrc+/ePc2/rJiz6jl48CANGzakfv36mm2tra2zHWNd5fUYPmvUqFEcOXIEe3t7Tdnjx481rR9dhqUOHTpU0+IENJcsDhw4kOP6WaOdhg0bpilTqVT85z//eWldWTw8PLRGKtWrVw/4v8983759KIqS7TN3cnLC1dWVAwcOkJGRofP+XsbJyYkKFSpoXleuXJkTJ07w0UcfacoURdHUmZKSorV9s2bNqFy5sub1W2+9pVX/0aNHSUtL44MPPtB6P89fHvr1119JTU1l2LBhmJqaasqrVavGe++9x5kzZ7h9+7amvEmTJlSqVEnzumbNmgB4enpqbQtobfe8X375BYD+/ftrlXt5eWm9dnJy4vfff6dXr16asszMTE0L+Pnj8ixdj2mVKlVQqVSsWrWKX375hbS0NFQqFd999x3z588H4Pz588THx9OhQwcSExM139XHjx/Ttm1bLly4kOOlxJeRy3H/n7W1td73+eylOYAyZcoAT6/R5ub69etYW1tjbm6uVV65cmXNF+7atWtUr1492+UiU1NTqlevzvXr17XKn/3CAJiYmGR7v8bGxgDZLu08+4cWwM7OThMnPP1DeP/+fVatWsWlS5eIi4sjISFB01fz/P6erzcuLo7Hjx9rDal/1o0bNzT1ZfXtPKt27do5bvcyeT2Gz0tPTycgIIBz584RFxfHtWvXNH1lulweez5uCwsLLCwscq336tWrWFpaaiX7nPbzIs+fj1l/cLPizer3qVWrVrZt7e3tOXToEPfv39d5f0lJSTx+/FhrHQsLC816z2+ftY///ve/HDp0iCtXrnD16lXNH0rluf6/l9WfdSyfvxXD0tJS6zzMet85Hcus8z8hIYEqVaoA2c/hrB8Tz8aT9X16PuZnZcVXvXp1rfKc4jAxMeH777/n2LFjXL16VfO9eVkdoNsxffPNN/n0009ZtGgRI0eOpFy5cri4uNC1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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pd.DataFrame({\n",
    "    'truth': [obama_true, romney_true],\n",
    "    'big': [obama_big, romney_big],\n",
    "}, index=['Obama', 'Romney'], columns=['truth', 'big']).plot.bar()\n",
    "plt.title('Truth compared to a big non-random dataset')\n",
    "plt.xlabel('Candidate')\n",
    "plt.ylabel('Proportion of popular vote')\n",
    "plt.ylim(0, 0.75);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can see that our large dataset is just slightly biased towards the Republican candidate, just as the Gallup Poll was in 1948. To see this effects of this bias, we simulate taking simple random samples of size 400 from the population and large non-random samples of size 60,000,000. We compute the proportion of votes for Obama in each sample and plot the distribution of proportions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "srs_size = 400\n",
    "big_size = 60000000\n",
    "replications = 10000\n",
    "\n",
    "def resample(size, prop, replications):\n",
    "    return np.random.binomial(n=size, p=prop, size=replications) / size\n",
    "\n",
    "srs_simulations = resample(srs_size, obama_true, replications)\n",
    "big_simulations = resample(big_size, obama_big, replications)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, we plot the simulation results and overlay a red line indicating the true proportion of voters that voted for Obama."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaUAAAEHCAYAAAAOBllLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd1QUV/vA8e+yVAFR0GgiKmiCDVQUC/aGBnvXBNFYMJbEErsxJnmjYjdiiT1qosaW2GLXmETz2sDEGMvPgmJXEJTedn5/8O7GpegCi6zwfM7hHHbKvc/Mzu6zc+fOHZWiKApCCCGECTDL7wCEEEIILUlKQgghTIYkJSGEECZDkpIQQgiTIUlJCCGEyZCkJIQQwmTkOClNnDiRSpUq6f1VqVKFWrVq0aNHD3766SdjxvlKRUREEBcXp3ut3VZTtXv3blq0aIGHhwdjxox56fIHDhxg4MCB1KtXjxo1avDuu+8ybdo0bt++nWFZU992Q0yaNIlKlSpx/vz5LJdJTU2lYcOGdO3aNVtlx8TE8OTJk9yGaBR//PEHvr6+uLu78/777+dpXSdOnCAgIIB69erh7u5O8+bNmTRpEjdv3tRb7s6dOxm+JypVqkTlypWpU6cOvXr1YteuXbmqIz/9+OOPVKpUiVOnTmW5TFb7wMvLCz8/P44ePZrp8osWLTJKjP7+/hnqrl69Oi1btuTzzz/n/v37uSo/s++N3DDPbQGTJk2iePHiACiKQkxMDLt27WLixIlERkYyYMCAXAf5Kv3666+MHTuWn376iSJFigDQq1cvvL298zmyzEVGRjJp0iScnZ2ZMmUK5cuXz3LZpKQkJkyYwN69e6levTqDBg3CwcGBq1ev8tNPP7F9+3bmzJlDq1atXuEW5L2OHTvy448/sn//fqpXr57pMqdOnSI8PJyAgACDy71w4QJDhw5l7ty51KtXz1jh5ohGo2HMmDGo1WomTZpE6dKl86yurVu3MmXKFGrXrk1AQABFixbl1q1bbNu2jb1797J+/Xpq1Kiht46Xlxc9e/bUvVYUhdu3b/PDDz8wbtw41Go17dq1y1Udpu75faDRaIiMjOTAgQMMGzaMpUuX0qJFCwAcHR2ZPXu20X8Mzp49W/d/XFwcV69eZfv27ezbt49NmzZRsWLFbJe5fft2vvzyyxf+4Ms2JYcmTJiguLm5Kbdv384wLz4+XmnevLlSq1YtJTExMadV5IugoKAst8sUBQcHK25ubsr69etfuuxXX32luLm5KStXrswwLzw8XOncubNSrVo15fLly7rp2vf5dZaamqo0atRIadGiRZbLfPrpp0qVKlWUR48eGVzu9u3bFTc3N+XkyZPGCDNXHjx4oLi5uSmBgYF5Wk9cXJzi5eWlfPjhhxnmhYWFKZ6enkr37t11027fvq24ubkpEyZMyLS8O3fuKNWrV1d8fX1zXEd+MuQYeNE+SExMVJo1a6Z06dIlz2Ls06dPlp/hixcvKtWrV1fatWunpKamZrvsvPh+yJNrStbW1rRo0YKYmBiuXr2aF1WI/0lOTgbA1tb2hcuFhoby/fff065dOwYNGpRhvpOTEwsXLkSlUjFt2rQ8iTW/mJmZ0b59e+7cucOFCxcyzE9OTubQoUN4e3tTsmTJfIgw9ww9DnLr2rVrPHv2jEaNGmWYV7ZsWZo3b86lS5dITEw0qLwyZcpQp04drl+/TkxMTJ7UYcosLS2pWbMm169fz5f6q1SpwocffsjVq1f55Zdf8iWG9PKso4NKpQLS2uoBWrRowZQpU5g8eTIeHh40adJE1xZ/9uxZPvjgAzw9PfH09KRv376cOXNGr7wWLVrw6aefsnXrVlq2bEnNmjXp3bs3J0+ezFC3oeWlj2fw4MEsXrwYgJYtW+Lv7w9kfl3l7t27jBs3jvr16+Ph4UHHjh3ZsmWL3jITJ07k3Xff5fz58/Tp04caNWrQoEEDpk2bRkJCwkv34cvqmDhxIn379gX+vW5y586dTMvauXMniqLg5+eXZX3lypWjVatWnDlzhgcPHujNO3fuHN26dcPDw4PWrVuzdu3aDOv/97//ZdCgQdSrV49q1arRuHFjpk6dyrNnz/Ribt++PcHBwfTq1UvXtv3TTz+RnJzMvHnzaNiwIXXr1mXUqFFERkbq1bF//3769OlD7dq1cXd3p0WLFsyePZukpKQX7ssOHToAadfT0vvjjz+IiorSLQNw5coVhg0bhpeXF9WrV6dnz54cPnxYN3/RokVMmjQJgL59++qaXgAePHjA+PHjde9b586dM1w30R4bGzZsoE6dOtSpU4fffvsNRVFYvHgxbdq0wcPDgwYNGjBu3LgXtvsvWrSIli1bArB48WK9axyRkZF88cUXNG7cGHd3d9q0acOKFSt0n0vt+h4eHhw6dIiGDRvi6enJ1q1bM61Lm/T27NmjSyLPmzlzJhcuXMDKyirLeNPTNpMr/xvxzFh13Lp1iwkTJtCkSRPc3d2pW7cuQ4YM0fuhrL0mdPnyZcaMGUOdOnXw9PRk+PDhGT5LERERTJo0ifr161O7dm2mTp360uPOEPfv36ds2bK615ldU1IUhbVr19K6dWuqV69O165dOXnyJD4+PkycODFX9WuP+99//103LTk5meXLl9OxY0dq1qxJ9erV6dixI9u2bdMt4+/vr+s7UKlSJV0ciqKwadMmunfvjqenJx4eHrz77rusWLFC9x6/SK6vKWVGo9Fw+vRpLC0t9dopf/75Z1xdXfn0008JDw/H0dGRI0eO8NFHH1GuXDmGDh0KpLUnf/DBBwQFBek+bJD25bFr1y78/f0pWbIkmzZtYtCgQaxZs4a6desCZKu89PE0bNgQS0tLDh06xKRJk3jnnXcy3b7bt2/Ts2dPEhMT6dOnDyVLluTgwYN89tln3Lx5k/Hjx+uWffLkCQMHDsTX15eOHTvy22+/8d1332Fpaam3XE7q6NWrF6VKlWLZsmX06tWL2rVr4+jomGl5f/75J+bm5nh4eLzwvatfvz579+4lODhYr41/wIABtGrViq5du3L48GECAwOJjo7m448/BuD48eMEBARQq1YtRowYgUql4sSJE2zevJnk5GQCAwN1ZT1+/JghQ4bQo0cPOnbsyPr165k8eTK7d+8mOjqaYcOGcf36dTZs2ICNjY1uXe11hhYtWjB27FjdGc7q1aspUqQIH330UZbbVbVqVd5++20OHDiQoTPIzz//jI2NDT4+PgCcP3+evn37YmdnR//+/bG1tWXnzp0MHz6cqVOn4ufnh4+PD48fP2bz5s0MGTJEt18fPnxIjx49UBQFf39/HBwcOHLkCOPGjePRo0d6Z6n3799nyZIlfPTRRzx69IgaNWqwbNkylixZgp+fn+5Hxvr167lw4QJ79uxBrVZn2DYfHx/s7e0JDAzEx8cHHx8fKlasyNOnT+nduzd3796ld+/euLq6cuLECebNm8fFixf5+uuvdWWkpKQwZcoUBg4cSFJSErVr1850P1aoUIFatWoREhJC8+bNadWqFY0aNaJevXqUKFECCwuLLN+DzMTHx3PmzBmcnZ2xt7c3Wh3h4eH07NkTOzs7+vTpQ/Hixbl06RJbtmzh+vXrHDhwADOzf3+TDx06lIoVKzJ69Ghu377NunXrePjwoe5LWPs5vHPnDn379qVkyZL89NNP7N271+BtTUpK0usU8/TpU3bs2MGff/7JggULXrjunDlzWL16NS1btqRfv36EhIQQEBCAuXnuv8LLli2LjY0Nly9f1k2bNGkS+/bt47333sPf35/IyEi2bNnCp59+Srly5XQJXqPRcPbsWWbPnk25cuUA+Prrr1m2bBldunShZ8+exMbGsmPHDubNm0fJkiXp0qXLiwPKabufti3xn3/+USIiIpSIiAjl0aNHyrlz55SRI0cqbm5uyowZM3TLN2/eXKlcubJy69Yt3bTk5GSlSZMmStOmTZXo6Gjd9KdPnyqNGzdWGjdurCQlJenWd3NzUw4dOqRbLiIiQvHy8lJ69uyZo/LSx6MomV9TSt9uOmrUKKVy5crKhQsXdNNSU1OVDz/8UKlUqZLyf//3f3rrpb/e4+vrqzRq1OiF+9fQOk6ePKm4ubkp27dvf2F5bdu2Vby9vV+4jKIoytGjRxU3NzdlzZo1etswa9YsvTj69u2ruLu7K0+ePFEURVEGDhyoNG/ePMM1xJ49eyqenp6619ryvvvuO920Y8eOKW5ubhnW7927t95+evfdd5VevXopGo1GN037nrdv3/6l2/bNN98obm5uysWLF3XTEhMTlVq1aimffPKJblqPHj2UmjVrKvfv39dNS0hIULp06aJUr15diYiIUBQl8+sJEyZMUOrWras8fPhQr+5PPvlEcXd3V8LDw/X2Q/r3zdfXVxk8eLDetE2bNikdO3bMcKw+T3vdIigoSDdtzpw5GT4ziqIoX3zxheLm5qYcO3ZMUZR/j/nn132RR48eKf369VPc3Nx0f5UqVVK6d++u7NmzJ9O4Ro8erfueiIiIUB4+fKicPXtWGTBggOLm5qbs2LEjx3VkZvny5Yqbm5ty7do1velz585V3NzcdJ8r7Xv40Ucf6S03depUxc3NTQkNDVUURVG+++67DPsyNjZWadu2rcHXlLL6GzVqlO576fnlte9HWFiYUrVqVWXMmDF65U6fPv2F1+u0XnRNSatx48ZKmzZtFEVJ2/eVKlVS5s6dq7fM9evXFTc3N+Wrr77STUv/3ZiUlKTUqlVLGT16tN660dHRiru7e6bXCdPLdfNdly5d8Pb2xtvbm0aNGtGrVy+OHDmCv79/hl+k5cqV02VTgIsXL/LgwQP8/Pyws7PTTS9atCh9+vTh4cOHetcAKlSooNczzNHRkU6dOvHXX38RERGR7fLSx2OI1NRUjh07RqNGjahWrZpuupmZGUOGDEFRlAxdPH19ffVeV65cmYiICKPW8TKKomT6Kzs97S8vJd1p9vO/8M3MzOjTpw9JSUn88ccfACxfvpzt27djaWmpWy4yMhI7Ozu97vVa2rMSABcXFwAaN26st76zszOPHz/Wvd61axcrVqzQNQ1DWpNK0aJFM60jvfbt26NSqdi/f79u2q+//kpMTAwdO3YE0n5h//XXX3Tq1EmvB5uVlRUDBw4kISFBt83paTQaDh8+jJeXF+bm5jx58kT317p1a5KSkjhx4oTeOumvm5QuXZpTp06xbt06wsPDAejduzc7d+7M9rF69OhRKlasmKE35bBhw4C0VoUXxZKVkiVLsnbtWrZt28bgwYN1x+j58+f55JNP+PzzzzOs8/PPP+u+J7y9vWncuDHvv/8+9+7dY/78+XTq1CnXdTxv8ODB/PHHH3otNQkJCbqzo/THS/rPaJUqVQB078Fvv/1GiRIl9PZlkSJF6NGjxwvjeF6jRo349ttv+fbbb1mzZg0LFy7k/fff58CBA3z44Yd6TarP++WXX0hJSaF///4ZttFYUlJSdJ+rkiVLEhwcrDtOIO37ICUlBYDY2Ngsy7GwsOCPP/7gP//5j970F30XpJfrc785c+ZQokQJIO3LqmjRolSsWDHT9l4nJye919o2W1dX1wzLVqhQAYB79+7h6ekJwNtvv51hufLly6MoCnfv3s12eenjMURkZCRxcXGZ1qH9ANy9e1dvevomNUtLyywPwJzW8TJvvPEGt2/fJiUl5YWn/I8ePdItr1WsWLEM26BtA9fGoVaruX37NgsXLuTatWuEhYXx8OHDLOt5ft9rk2X690OtVuslRwsLC86cOcOePXu4ceMGYWFhuuRepkyZrDf+f5ydnalVqxb79+9n9OjRQNqXpZOTEw0bNtTbnhft+3v37mVafmRkJNHR0Rw+fFjv+tPz0l8bSr/N48ePZ+jQocyYMYPAwECqVatGixYt6NmzZ7Y7Ydy5c4fGjRtnmF6yZEmKFi2a4RjK7ufBw8NDd29cREQEu3fvZtGiRfzwww907dpVr8t2o0aNGDhwIJB2zW3VqlU8e/aML7744oXd6bNTR3rJycksWLCAf/75h7CwMO7cuaP73Gk0Gr1ltbe1aGl/HGmXv3v3rt51H63MjpOslCxZkgYNGuhNe/fdd3FwcOCbb77hwIEDtG3bNsN6t27dAshwu0eJEiUoWrSowfVnJTU1lWfPnulti6WlJbt27eL48ePcvHmTW7du6ZJR+h+s6VlYWHDs2DGOHDlCaGgot27d4unTpwatC0bo6FCrVi0aNGhAgwYNqF+/PlWrVs3yAmT6X+ovClA77/n248zakrUHTfovMEPKM+TMIatyMqM90J//tQ/otV3nVR0v4+XlRVJS0kvvJzh79iwqlUqXuAG9M5P0MWq37YcffqBHjx6cPHkSFxcXBg0axJYtW/Q6Dzwvs8SYWT3PmzdvHv379+fSpUtUqVKFjz/+mJ07d+Ll5fXC9Z7XoUMHbt68yZUrV4iPj+fYsWO0bds2yzPE52n3fVbXNLTHYps2bXS/iNP/pf/SSX8MVq5cmQMHDrB06VK6d+9OeHg4QUFBtG3bNts9tF62Lem3w5DjdOfOncyfPz/DdCcnJz744AO++uorAIKDg/Xma7+QGzRoQNeuXdm0aRNFihQhICAgw7I5reN5Fy5cwNfXly1btuDg4EC3bt1Yvnw5U6dOzXT5l227SqXKtLefIV+yL/Puu+8CEBISkul8bc/KzD7z2elQkpVr166RnJxM5cqVgbRrXwMGDOCzzz4jKioKb29vPv/8c44dO/bSshRFYdy4cYwYMYI7d+7g6enJ+PHjOXjwIG+++aZB8eRJRwdDaX/d3rhxI8O80NBQAL0mlLCwsAzL3bp1C7VajbOzs+7NM7S8nHB0dKRIkSKvXR3t27dn6dKlrFmzhlq1amW6zIMHD9i/fz+1a9fWO/N4+vQpMTExek2i2rvqy5UrR2JiIjNnzqRevXqsWbNGL+EsXLgwW3Fm5e7du6xYsYJOnTrp3QQI/zaxGMLX15fp06dz6NAh3n77beLj43VNd5D9Y/J5jo6O2NjYkJKSkuEX8b1797h48SI2NjZZxpaamsrly5exs7OjZcuWuk45e/fuZfTo0WzdujVbPa3KlCmT6XY8fvyYmJgYg78knnfq1Cm2b99Oz549cXZ2zjBf2znI2tr6heU4ODgwb948evfuzZgxY9izZ4/u+DJGHbNnz8bS0pKff/5Z7yx/2bJlL9/ITDg7O3P27NkMLQ3GGM0g/Q+89LRnaDdv3sTNzU03PSYm5oWXAQylbc5+/ng7ffo006dPp3v37rrlXtTyoXX27Fn27NnDsGHDGDlypG56SkoKUVFRmZ5tppevY99Vq1ZN14vu+a6fMTExbNy4kZIlS+Lu7q6b/vfff/Pnn3/qXoeHh7Nr1y7q16+Pg4NDtsvLjPbAyOoXkFqtpnHjxpw4cYJ//vlHN11RFFauXIlKpaJZs2bZ2g+vog4XFxf69+/PoUOH+OabbzLMj4qKYsSIESQnJzNlyhS9eRqNRq8raEpKCuvWraNIkSJ4e3uTkJBAfHw8Li4ueh/YS5cucfr0ad06uaE9/U/fhPvrr79y8+ZNg8svVqwYjRs35tixY/zyyy+4uLjojfKgPUZ27dql1y0+KSmJb7/9FktLS11Tn/ZY0Z5BmZub06RJE3799Ve9nkyQ1o15+PDhGbq4Py81NZW+ffsyY8YMvenaJqrsnnE3b96cGzduZGhKXLFiBUCOjlPtme+0adMyPXPYvHkzarXaoLI9PDwYOHAg9+/fZ86cOUatIyoqCkdHR72EFB0drevC/KLm88y0bt2a6Ohova7yycnJGW4DyYk9e/YA6HoQp9eqVStUKhUbNmzQm75x48YMzZDZde3aNdauXUu1atV0o9ZERUUBGT9r69evB/Q/y+k/A1mtu2XLFuLj4w36nObrmZKFhQWfffYZo0aNolu3brqsvG3bNh49ekRQUJDeB9HS0pKAgAD69euHtbW17k3Rdq3ObnmZ0R7Eq1atokmTJnpdyLXGjh3LqVOn8Pf313VPP3ToECdPnqR///6ZXvvKrryoY/To0Tx9+pSvv/6aX375hTZt2lC0aFFu3LjBjh07SEhIYN68ebqLvFo2NjYEBQVx//59ypUrx969ezl37hyff/65rhtvjRo1+PHHH7Gzs8PV1ZWrV6+ydetW3f6OjY3FwcEhx/vj7bff5q233mLZsmUkJiZSunRpzp8/z08//YSVldULL76m17FjR0aPHs3NmzczXDwGmDJlCv369aN79+6899572NrasmvXLv755x+mTJmia8fXHiubNm0iPDycDh066N43Pz8//Pz8eOutt3QJsFevXlneZgBpx7e/vz/ffPMNw4cPp3HjxiQkJLB582ZsbGzo1q1btvbZhx9+yMGDBxk1ahTvvfceLi4unDx5koMHD9K6dWuaNm2arfIAvL296d+/v64psn379pQtW5bo6GiOHj3K6dOnmThxIm+99ZZB5Q0bNox9+/axefNmOnTogJeXl1HqaNKkCStXrmTkyJE0atSIx48fs23bNt1ZdXaOF4BOnTqxZcsWvvrqK65fv46Liwu7du3S64jzMrdv32bnzp2619qOQvv27aNWrVp697o9z9XVFT8/P77//nsiIiJo0KABf//9t647+suavbWerzsuLo4rV66wc+dObGxsmDNnjq6cBg0aYG5uzvjx4/Hz88Pc3JxffvmF48ePY2FhobfvtJ+BoKAg6tWrh6enJ3Z2dgQGBnLv3j2KFi3KqVOn2Lt3r8Gf03xNSpDW/r5mzRqWLl3KkiVLMDc3p0aNGkyfPj3DtYKaNWvSrl07li5dSnR0NF5eXowZM0bXFprd8jLTrl07Dh48yI8//sjp06czTUrlypVjy5YtfP311/zwww8kJCRQsWLFDKe7uZEXdZibmzNt2jRat27Nhg0bWLt2Lc+ePaN06dK0b98ef3//THt4FS1alFmzZjFjxgw2bNhA+fLlmTNnjl6z18KFCwkMDGT79u0kJSVRpkwZBg8eTMWKFfn44485efIkbdq0yfH+sLS0ZMWKFcycOZP169ejKArlypVj8uTJpKSkMH36dC5cuPDSM2FIu3Ha1taW6OhovW3Q8vT0ZNOmTQQFBbFmzRo0Gg2VK1dmyZIler2vvL298fX15ZdffuHkyZO0bt1a974FBQWxZcsW4uLiKFu2LJMmTdLdjP0iI0aMoFixYmzfvp1Zs2ahVqupVasWc+bMyfbYZMWKFWPz5s18/fXX7N27l2fPnlG2bFnGjx/PBx98kK2ynjdx4kTq1q3Lli1b2L59O1FRUdja2lK9enVWr15tcC8+SGuC+/LLL+nfvz9Tp05lx44dWFpa5rqOjz/+mNTUVPbu3csvv/zCG2+8QYMGDRgwYADt2rXT3XhqKLVazapVq1iwYAH79u0jLi6OJk2a8MEHH+g6zbzM2bNnOXv2rN62Ozs78+GHHxIQEPDCH8yTJ0+mePHibN++nWPHjlG5cmVWrlyJv7+/wfeGPX9fpIODA6VLl6Zbt24EBARQqlQp3Tw3NzeCgoJYvHgx8+fPx9bWlnfeeYdvv/2WjRs3cvr0aZKTk7GwsOC9997j5MmTrFq1ir///pvVq1ezYsUK5s6dy9KlS7G0tMTV1ZX58+dz/vx51q9fT3h4uK5zXGZUijGu1OVQSkoKtWrVynCKXqRIEc6dOwek3ZS5YMECLly4gKWlJaNHj37tBnkVQoic0p5dpB9CKjIykvr162e4fvO6y9czpdDQUBITE5k1a5buXhX4t50yJCSEIUOG4Ovry/3797G0tGT27NkoiqLrXiqEEAXZ33//Tb9+/Zg/f77eKCva5rusRr5/XeXrmdLu3bsZP348ISEhmfZK+uCDD4iLi2PLli20aNGCMmXKUL16dbZs2cKJEyey3S1aCCFeN0lJSbRt25bo6Gj8/Px48803uXLlCps3b6ZGjRqsX78+251gTFm+bsmlS5coV65cpgkpMTGRs2fP0rp1a73pbdq04dmzZ1n26RdCiILE0tKS77//nlatWvHjjz/yn//8h19++YV+/fqxcuXKApWQIJ+b765cuYKlpSUDBw4kJCQEc3NzfH19GT9+PA8ePCA5OVl3l7F2WB1t1+DQ0FDq16+fb7ELIcSrUrp0aaZPn57fYbwS+ZpiL1++TFhYGE2bNmXFihUMGzaMPXv2MHToUKKjowH0btiEfy/2ZTakvRBCiNdbvp4pLViwAAcHB92ziurUqYOTkxPjxo3TDVyZVR/8nJ6y5uMlNGFsmlSU1NzdlAugUpuDWfaHnHohRSE1Lh4AdREbMPBeEiEMZej9Sa+bfE1Kmd3BnP4u7fRnRNrX2ps2s0tRICLCtM6yHBzSrqk9fRqfz5G8PhwdbYm7coonwUdevvBLFPNsgUWFOsTG5v6BbVrJ4Y8JnTgOANeZc7Aokf9PtJXjLPtMdZ85OdkV2N85+dZ8FxERwdatWzOMHaV9IquTkxNqtTrDeHfa19kZnVcIIcTrId+SkkqlYurUqXz//fd60/fu3YtaraZBgwZ4eXlx8OBBvSa3AwcOYG9vb9Cd+0IIIV4v+dZ85+joiJ+fH9999x12dnZ4eXkRHBzMsmXL8PPzo3z58gwdOpT+/fszevRounTpwrlz51i9ejVjxox54WjLQgghXk/5ek1pwoQJlCpViu3bt7NixQpKlSrFiBEjdE859fb2ZtGiRQQFBTF8+HBKlSrF+PHjZZghIYQooPJ9lPCAgAACAgKyXMbHxydbAycKIYR4feX7KOFCiNdDUlIC8fGxaDSpaDSF49aK6Oi0WwWSkrL3/KWcMjMzw8LCAltbhwLb5ftlJCkJIV5IUTQ8fRpBQkIcKpUZarU5KlXBGtomKykpryYZaaWmJpOYGEdycjLFipUolIlJkpIQ4oXi42NJSIjD1tYBO7uihSYhAajVaUkhNfXVnRnGxj4jOjqS2Nin2NkVe2X1morCc3QJIXIkISEetdoCOzuHQpWQ8outbVHMzS1ITk7O71DyhRxhQogXUhQFMzN1oWxKyi8qlRqNRpPfYeQLSUpCCCFMhiQlIYQQJkOSkhCiUDPmkwPkKQS5J0lJCAlJP2cAACAASURBVFFonTjxO9OmfZ7rch4/fsT48aN48OC+blr37h2YOfOrXJdd2EhSEkIUWlu2bOLhwwe5Lick5Cx//HHcCBEJSUpCCCFMhiQlIUSh9NFHgwkOPs2ff4bQqJEXISFnadTIi507f6Rr13Z06tSGv/46x7Bhgxk5cpjeutpl//rrT/bu3c1XX00FoEePjkyf/oVuueTkZBYtWkCHDq1p1aoRn3zyEXfv3nmVm/nakREdhBA5pqSkkBIVmd9hYF6sOCrz7H2djRkzkRkzviA1NZVPPplIVNQTAFauXMq4cZOJi4ujSpVqLy3H27sRAwYMZs2aFUyfPoe3335HN+/Qof3Uq+fNlClf8uRJBEFB8/nyyymsWLE2W7EWJpKUhBA5oqSkcPOzySQ/fpTfoWBR8g1cvpqRrcTk6lqBIkXsSE1Nwd3dg5CQswB06dKDpk1bAP8OM/QixYsXp0wZZwDc3Crx5ptv6eaVKlWawMB5mP8vrjt3brNu3Wri4+PlmXBZkOY7IYR4TsWKbxutrKpV3XUJCdAlrNjYGKPVUdDImZIQIkdU5ua4fDXjtW2+y0rx4k5GKQfIcDZkZpZ2HlBYhxAyhCQlIUSOqczNsShRMr/DyFMqFWg0+o+wiI+Pz6doCj5pvhNCFFpq9cu/Am1t7Xj06KHetPPn/9R7rT0DErkne1IIUWjZ2dlz+3YYwcFniI6OznSZhg0bcffuHRYtWkBIyFnWrl3F/v0/ZygH4Ndfj3Lr1s28DrtAk6QkhCi0evXyw9zcnLFjR5CSkvnzi9q374SfXz8OHdrP2LEj+fvv80ybNktvmVq1vGjQoDHLly9hyZKFryL0AkulGGkEQY1Gw927dylbtqwxisszGo1CRIRp9XxxcEi7GPr0qbRTG8rR0Za4K//lSfCRXJdVzLMFFhXqEBubZITI0iSHPyZ04jgAXGfOMYnrLjk9ziIi0pqunJxKGT0mU5cfT56Fl+9zJyc7zMwK5vOtDD5TqlKlCnv27Mly/o8//kjnzp2NEpQQQojCKcvedw8fPuS///2v7rWiKJw5c4aUlJQMy2o0Gnbv3i1PphRCCJErWSYlR0dHli1bxs2bNwFQqVRs3ryZzZs3Z1mYv79/jgP56KOPuHLlCocOHdJNO378OAsWLODatWs4OTnRp08fBgwYkOM6hBBCmLYsk5KFhQVr1qzhzp07KIpCv379+PDDD2nYsGGGZc3MzHB0dKRChQo5CmLnzp0cOnSIcuXK6aaFhIQwZMgQfH19GTlyJMHBwcyePRtFURg4cGCO6hFCCGHaXnjz7FtvvcVbb6UNixEYGIiXl5fROzI8fPiQ6dOnU7p0ab3pQUFBVK1alTlz5gDQpEkTUlJSWLZsGf7+/lhaWho1DiGEEPnP4I4OXbp0yZOedVOmTKFhw4Z4e3vrpiUmJnL27Flat26tt2ybNm149uwZISEhRo9DCCFE/svyTKlKlSrMnj2bDh06AFC5cuWXdmRQqVRcvHjR4Mq3bt3KP//8w549e5g9e7Zu+u3bt0lOTsbV1VVv+fLlywMQGhpK/fr1Da5HCCHE6yHLpNS5c2e9azydO3c2au+6u3fvEhgYSGBgII6OjnrztHdW29nZ6U23tbUFICYm5/cZqVT/3q9hKszN1YDpxWXKzMxUqFBhYaE2SllWVha698EYEhOtdf/b21tjZQLvbU6Ps+hoNSkpqQY9xqHgSdtmtfEODYOYmaW9X1m9VwW5o3OWSSkwMFDv9cyZM41WqaIoTJ48maZNm9KmTZtM5wNZJkEZZ0oIIQqmfBklfMOGDVy5coXdu3fr7nvSJqKUlBTs7dPGkUp/RqR9rZ2fE4pieiMnyIgO2efoaIuCQnJy6ssXfgmNRiExMdm4IzpEJ+j+j45OIMEq/9/bnB5nSUlp+zizUQ2srS1M4gwqNVUhISHzYYJyQ3uG9KpHdNBo0vZ7Vu+Vk5NdgT1bylZS2rRpE7t37yY8PJzU1IxfBiqVisOHD7+0nAMHDhAZGUmjRo0yzKtWrRpffPEFarWasLAwvXna1+mvNQkh8odareLa3WdEPpeEX7Xi9ta8XaZovtUvjMvgpLR48WIWL16Mg4MDrq6uWFhY5LjSL7/8ktjYWL1pS5Ys4dKlSyxevBhnZ2f27dvHwYMH6devn64Z78CBA9jb2+Pu7p7juoUQxhUZncChk7fyrX6f+uUBSUoFhcFJafv27dStW5dVq1bl+h6hzG6yLVasGJaWlnh4eAAwdOhQ+vfvz+jRo+nSpQvnzp1j9erVjBkzRp5tL4QQBZTBSSkiIoJhw4a9sptWvb29WbRoEUFBQQwfPpxSpUoxfvx4GWZICGFUly9f4ptvgrh8+SIajULVqu4EBAzF3d2Dr776nPDwx5Qq9RZHjx7E1bUi33yzmrNnT7Fy5TJCQ6+jVpvj6VmLIUM+pnx5l/zenNeewUnpnXfeITQ0NM8Cyax3n4+PDz4+PnlWpxCicIuNjWHs2I+pVasO06bNJjk5mXXrVjN27Mds3572VITg4LPUrl2HGTPmkpCQwL17d5k4cQzt2nVkyJCPePbsKStWLGXcuJFs3rxDBqbOJYOT0qhRoxg9ejT16tWjadOmeRmTEEK8EqGhoURFRdGjR288PGoAUL68Czt3/khcXBwAqampjBs3mTffTBty7fDhAyQmJtK37wBK/O85WW+8UYrff/+V+Pg4ihSxzZ+NKSAMTkrr1q2jSJEiDBkyBGtra4oXL57hF4Ghve+EEMIUVKhQkWLFijN+/GhatGhF3bre1K1bn2HDRuiWKVKkiC4hAVSr5oGlpRWDBvWlefNW1K/fAE/P2lStKh2wjMHgpJSYmEj58uV1Q/0IIcTrrkiRIixdupJ161Zz5Mghdu78ESsrK959tx0jR44FoHhx/RFn3nzzLRYvXs73369jz54dbN26CTs7e7p27UFAwFBpvsslg5PSd999l5dxCCFEvihXzoXPPvuK1NRULl36h/3797JjxzacnctluU7Vqu7MmDGH5ORkzp//k507f2T9+jW4uVWiWbOWrzD6gkfG6xFCFFq//voL7du3IiIiHLVajbt7dcaOnYidnT2PHj3MdJ1t236ge/cOJCUlYWFhQe3adRg//lOALNcRhjP4TKllS8Oy/5EjR3IcjBBCvErVq9dAo1GYNGksffp8gK2tLUeOHCQuLpamTZuzd++uDOvUqlWHpUuDmDx5LN269UStNmfHju1YWlrRoEHjfNiKgsXgpKR92N/zNBoN4eHh3Lp1CxcXl0yfSiuEKNiK21v/b1SF/Ks/x+sWd2T+/MWsWLGEmTO/IiEhgQoVKjJt2mxq1qyVaVKqUKEis2YtYM2aFXzxxaekpqZSuXJVFixYjLOz8Z85V9gY5ZrShQsXGDRoEHXr1jVKUEKI10NqqvK/cefyd5if3AyYWrlyFebPX5zpvM8++zLT8uvUqUedOvVyXKfImlFGCXd3d6dPnz4sWbIk00dRCCEKprwYmVsUbkbr6FCiRAlu3rxprOKEEEIUQkZJSo8fP2bTpk2ZXncSQgghDJXr3ndJSUk8efKE1NRUPv/8c6MFJoQQovDJVe87ALVaTb169Wjfvj3NmjUzVlxCCCEKIRnRQQghhMmQER2EEEKYDElKQgghTIYkJSGEECbDKDfPCiEKJ2trC9Tq/H9UQ2qqIjfyFhAGJ6WrV6/y9ttvy7NChBA6arUK5dFVUmKi8i0Gc7tiqN94J9/qF8ZlcFL64IMP6NKlC2PHjs3LeIQQr5mUmCiizh3Nt/qLebbA4o2crdu9ewe8vOoyceJnmc4fNmwwarWar79emosIRXYYnJTi4uJwdnbOy1iEEMKkjBs3UVqHXjGDOzr069ePNWvWcPbs2byMRwghTIarawVcXFzzO4xCxeAzpQsXLvD48WP8/f2xtramWLFimJnp5zSVSsXhw4eNHqQQQuSV5OQk5s4N5NCh/Zibm9O8uQ/Dhn1MkSK2GZrvYmJiCAqax4kTv5GSkkKLFq0pVqwYhw7tZ9u23fm8JQWDwUkpMTERd3d3o1auKArr1q1j06ZN3L9/HxcXFwICAujQoYNumePHj7NgwQKuXbuGk5MTffr0YcCAAUaNQwhReB0+fBAPjxpMnTqN+/fvsnz5UqKinjBt2uwMy06c+AmhodcZMuRjihd3ZMOGdVy5cglHR6d8iLxgytdhhpYvX05QUBAff/wxNWvW5LfffmPs2LGo1Wratm1LSEgIQ4YMwdfXl5EjRxIcHMzs2bNRFIWBAwcaPR4hROFTrFgx5s0Lwsoq7Qm25ubmzJs3i9DQG3rLBQef4c8/Q5g9+2saNGgEQO3adejRo+Mrj7kgy/Z9SikpKfz999/cv3+funXrYm1tTWpqKg4ODtkqJzk5mTVr1vDee+8xdOhQALy9vblw4QLff/89bdu2JSgoiKpVqzJnzhwAmjRpQkpKCsuWLcPf3x9LS8vshi+EEHq8vRvpEhJAo0bNmDt3JpcvX9RbLjj4DJaWVnh7N9RNs7GxoUGDRoSEyLV2Y8nWiA779u2jWbNmvP/++4wZM4arV68SHBxM06ZNWbVqVbYqVqvVfPfddwwePFhvuoWFBYmJiSQmJnL27Flat26tN79NmzY8e/aMkJCQbNUnhBCZKV7cUe91sWLFAAgPf6w3PSoqkmLFimXojSdNd8ZlcFI6fvw4Y8aMwcXFhQkTJqAoac+sd3Z2xs3NjXnz5rFz507DKzYzo1KlSpQqVQpFUQgPD2fFihX88ccf9OrVi9u3b5OcnIyrq37Pl/LlywMQGhpqcF1CCJGV6OhovdeRkU8AcHAopje9ZMk3iIqK1H33pV9eGIfBzXdLlizB3d2d9evX8/TpU2bOnAlAxYoV2bhxI3379mXdunV06tQp20EcPHiQESNGANCsWTM6duzIpUuXALCzs9Nb1tbWFkjrBZMTKhU4ONjkaN28Ym6uBkwvLlNmZqZChQoLC7VRyrKystC9D8aQmPhvc5C9vTVWJvDe5vQ4i45Wk5KSmulwQmlnDap8vpcnrf6cDncUHHwa0KBWp+2fY8eOAFC7dm0OHdoPpI1cUatWLVavXs6ZMyfx9m4ApD3k9NSp/2Jubm7U4ZbMzNLer6zeq4J865TBSenSpUuMHj06QzdwSLsw2L59e921n+yqWrUq33//PVeuXGHhwoUMHjyYUaNGAWR5sGcWhxDi1TO3K4ZDzRb5Wn9uPHr0kM8+m0SXLt25evUKy5d/Q7t2HSlXrrzecrVqeVG7thdfffU5Q4YMx8nJic2bN/HkSQSlS7+ZqxjEvwxOShYWFqSkpGQ5PyoqCgsLixwFUbZsWcqWLUudOnWws7PTax5Mf0akfW1vb5+juhQFnj6Nz9G6eUX7a8jU4jJljo62KCgkJ6fmuiyNRiExMZnY2CQjRJYmOTpB9390dAIJVvn/3ub0OEtKStvHqalKhnkpKRrUb7yd42F+jCUlRZNpfIbo3Lk70dHPmDDhE6ysrOnRozcBAUP1ytP+/5//zCQoaB5BQfNRqVT4+Phia2vH7du3clx/ZjSatP2e1Xvl5GRXYM+WDE5KdevWZdu2bfTp0yfDvEePHrFx40Zq165tcMVRUVEcO3YMb29vSpUqpZtetWpVAO7cuYNarSYsLExvPe3r9NeahBCv3us+MvfzN7xOnvx5hvlLl64A0pLSgwf3+eefv5kw4TM+++zfnr8BAX0pU6Zs3gdbSBjcBvbJJ5/w+PFjOnbsyNKlS1GpVBw5coTAwEDat29PTEyM7rqQITQaDRMnTmTz5s1600+cOAGAh4cHXl5eHDx4UO/C4oEDB7C3tzf6jbxCCPEy06d/waxZ0zhz5hRnzpxk1qxpXL58iW7deuZ3aAWG+osvvvjCkAUdHR1p2rQpwcHB7Nu3D4Dz58/z119/8c477zB//nw8PDwMrtjGxoYnT56wfv16zM3NSUpKYufOnSxevJiuXbvSrVs3SpcuzbJly7h+/To2Njbs2LGDlStX8vHHH1OvXr0cbbCiQHy88ZppjMHaOq3ZMzEx6+ZRoc/GxpLkiDvE3899L0zrN11RFy9jlKZALU1cHFGHDwFQvFVr1EVsjVZ2TuX0OIuPjwWgSBG7lyxZ8JiZpbWRKQrY2dlTtWo1fv/9V7Zv38zhwwcxM1Mzfvyn1KmTs++jrLxsnxcpYllgB4pVKen7NxogKiqKsLAwNBoNZcqUoWTJkjmqPDk5mbVr17Jt2zbu3btH6dKl6dGjB4MGDdJ1ZDh06BBBQUGEhoZSqlQp/Pz8cjXMkEajEBGRs557eUWuKWWfo6MtcVf+y5PgI7kuq5hnCywq1DHuNaXwx4ROHAeA68w5WJTI2WfEmHJ6nEVEPATAyanUS5YseLQ96ox5vcgQL9vnTk52uoRZ0OToybN37tzh/v37qNVqbG1tc5yULCwsCAgIICAgIMtlfHx88PHxyVH5QgghXi/ZSko///wzs2fP5tGjR3rTXVxcmDp1Kt7e3kYNTgiR/1SqtGvA4tVRlH/vmypsDE5KBw8eZMyYMZQvX54JEyZQvnx5UlNTuXnzJps2bWLw4MGsXbs2Wz3whBCmz9zckri4aDSaVMzMCucX5aukKBpSU1OwsCicY3sanJS++eYbqlWrxsaNG7GystKb5+fnR69evfj666/zZDRxIUT+sbEpQlzcM54+fYKDg6MkpjykKAoxMc9QFA02NvnfOSY/GJyUbty4wbhx4zIkJEjrSde9e3cWLFhg1OCEEPnPwsIKe/viREdH8uhRPObmFqhUhWNEFe3AMa+q9VKjSSU1NRlr6yJYWlq/fIUCyOCk5OzszI0bN7Kc/+jRoxx3eBBCmDZb26JYWlqRkBBHcnJyhkFJCyrteIHaUS3ymlptjq2tfaE9S4JsJKWxY8cycuRIXF1dee+99zA3/3fVvXv3smHDBubOnZsnQQoh8p+FhRUWFhlbSgoyuV3j1TM4Ka1fv55ixYoxY8YMFi1aRNmyZbGwsODOnTtERESgVquZMWMGM2bM0K2jUqk4fPhwngQuhBCi4DE4KaWkpFC+fHnd84y0XF1dZRw6IYQQRmFwUpJedUIIIfJa4ehCI4QQ4rUgSUkIIYTJkKQkhBDCZEhSEkIIYTIkKQkhhDAZBielvn378t///jfL+UePHqVdu3ZGCUoIIUThlGWX8Pj4eCIjI3WvT58+jY+PT4b7lCBtWPvffvuNO3fu5E2UQgghCoUXJqXOnTsTHR0NpI3OkH7EhucpikLDhg3zJkohhBCFQpZJydHRkTlz5vD333+jKApLlizBx8eHSpUqZVjWzMwMR0dHab4TQgiRKy8c0aFp06Y0bdoUgHv37tG7d29q1KjxSgITQghR+Bg8zFBgYGBexiGEEEIYnpQAfvvtN3bv3k14eDipqRmfL6JSqVi3bp3RghNCCFG4GJyUNmzYwLRp0wBwcnLC0rJwPj9eCCFE3snW85QqV67MypUrKVGiRF7GJIQQopAy+ObZ+/fv06tXL6MmJI1Gw6ZNm+jQoQOenp60atWKwMBAYmJidMscP36cbt26UaNGDVq0aMGaNWuMVr8QQgjTYvCZUrly5QgPDzdq5atWreLrr79m4MCBeHt7ExoaSlBQENeuXWP16tWEhIQwZMgQfH19GTlyJMHBwcyePRtFURg4cKBRYxFCCJH/DE5KgwcPZvr06bRp04Z33nkn1xUrisKqVavo1asXY8aMAaBBgwYUL16c0aNHc+nSJYKCgqhatSpz5swBoEmTJqSkpLBs2TL8/f3lupYQQhQwBiel4OBgbG1t6dSpE66urjg6OqJSqfSWyU7vu9jYWDp27Iivr6/e9AoVKgBw9epVzp49y6hRo/Tmt2nThlWrVhESEkL9+vUNDV8IIcRrwOCk9PvvvwNQunRp4uPjuXv3bq4qtrOzY8qUKRmmHz58GICqVauSnJyMq6ur3nzt2HuhoaE5SkoqFTg42OQg4rxjbq4GTC8uU2ZmpkKFCgsLtVHKsrKy0L0PxpCYaK37397eGisTeG/lOMs+U91n6c4HChSDk9LRo0fzMg4A/vrrL1asWEGrVq10Y+7Z2dnpLWNrawug1xlCCCFEwZCtm2e1Hj58yIMHD6hQoQJWVlaYm5tjZpa7RzMFBwczZMgQnJ2dmTZtGqGhoQAZmgi1clqfosDTp/E5jjMvaH+FmVpcpszR0RYFheTkjDdxZ5dGo5CYmExsbJIRIkuTHJ2g+z86OoEEq/x/b+U4yz5T3WdOTnYF9mwpW9/swcHBdO3alWbNmtG7d28uXLjA6dOnadasGXv37s1xEHv37qV///68+eabrF27luLFi2Nvbw9kPCPSvtbOF0IIUXAYnJTOnz9P//79iY2NpV+/frrpDg4OmJubM3bsWH799ddsB/Dtt9/yySefULNmTTZs2MAbb7wBpHVBV6vVhIWF6S2vfZ3+WpMQQojXn8FJaeHChTg7O7Nz504GDx6MoigAeHh4sGvXLipWrMjy5cuzVfnWrVuZOXMmvr6+rFq1Su/sx8rKCi8vLw4ePKirC+DAgQPY29vj7u6erbqEEEKYPoOvKZ07d45hw4ZhbW1NfLx++6qdnR09e/YkKCjI4IojIiKYPn06ZcqUwc/Pj4sXL+rNL1euHEOHDqV///6MHj2aLl26cO7cOVavXs2YMWOwsTGt3jBCCCFyL1sdHV50s2piYiIajcbgsn7//Xdd13I/P78M82fPnk2nTp1YtGgRQUFBDB8+nFKlSjF+/HgGDBiQnbCFEEK8JgxOSjVq1GDPnj307ds3w7y4uDi2bt2Kh4eHwRV37tyZzp07v3Q5Hx8ffHx8DC5XiPxmbW2BeZF/f8DZFLHEyjZno4+o1WaAKtNHxeSkrOebwoUwRQYnpREjRuDv70+fPn1o2bIlKpWK8+fPc/XqVb777jvu3bvHl19+mZexCvFaUKtVXH8QrXt9/no4ROQsGVRxceJhZBxPjNAl2cnBhioujrkuR4i8ZHBS8vT0ZPny5Xz++efMmjULgAULFgBQsmRJFixYIMP+CPE/T2MTdR+u4+fuEm+Ts5u9Xd9yIOpZAodO3sp1TG0aSI9VYfqydU2pYcOGHDp0iIsXLxIWFoZGo6FMmTK4u7tjbp6j+3CFEEIInWxlknv37rFx40YCAgKoVq0aACtWrODAgQMMGjQIJyenPAlSiLykUqWNoWebw+s+6VlYqFFRQG+3FyKPGZyU/u///g9/f39iYmJo3749Dg4OADx79owNGzawZ88eNm7cSNmyZfMsWCHyggqIjE7i0s0Io5RXxcVJUpIQOWRwUpo3bx62trZs3rwZFxcX3fSxY8fSq1cv+vXrx9y5c1m4cGFexClEnkpISjHKdRtIuw4khMgZg5PSn3/+ybBhw/QSklbZsmXp06cPq1atMmZsQggjKu1YBJVKZbRmytRUhYSEZKOUJYSWwUlJURQSExNfOD8hISHL+UIYk0oFKlSYq3M3On1aYbkv4nVgbWXOxdAIIozQvby4vTVvlylqhKiE0Jetm2c3b95M7969KVpU/2CMjY1l69at1KhRw+gBCpE5FUkpqUTF5P5xE3aaQpOXiIpONEozpU/98oAkJWF8Bieljz76iD59+tC+fXs6dOhA+fLlUalUhIWF8fPPP/P48WMCAwPzMlYh9KRqFB5HxeW6nDIyyoEQJiNbZ0rffvsts2bNYs2aNXrDlVSuXJnAwEA8PT3zJEhRMFhbW6BWG+ecJK35TghR0BiclCIjI/Hy8mLr1q08efKEu3fvotFoePPNN3XPQBLiRdRqFdfuPiMyOvfXHutUKW2EiEROlXayNeq9XdJpQmgZnJS6dOlCjx49GD58OI6Ojjg6yhhaIvsio40zZI5nJfkhlJ9srMy5HBZllDH5pNOEeJ7BSenJkyeULFkyL2MRQrxGjDUmn3SaEM8zuD9thw4d2Lx5M3fu3MnLeIQQQhRiBp8pmZmZcePGDdq0aUO5cuVwcnLCzEw/p6lUKtatW2f0IEX+MWbnBAsLNSqVdE8QQmTN4KR04sQJihcvDqQ9ZfbevXt5FpQwHcbsnCBjwgkhXsbgpHT06NG8jEOYMGN1TpAx4YQQL5OjhyA9fPiQBw8eUKFCBaysrDA3N8/QlCeEEIYwdvdykC7mr7NsJaXg4GCmT5/OpUuXAFizZg2pqalMnjyZiRMn0rZt2zwJUghRcBmzezlIF/PXncFJ6fz58/Tv358333yTfv366To0ODg4YG5uztixY7G1taVp06Z5FqwQomAyVvdykC7mrzuD29wWLlyIs7MzO3fuZPDgwbphhjw8PNi1axcVK1Zk+fLleRaoEEKIgs/gpHTu3Dm6du2KtbV1hm69dnZ29OzZk6tXrxo9QCGEEIVHtnonWFpmfSEyMTERjUaT40AuXbpEtWrVePDggd7048eP061bN2rUqEGLFi1Ys2ZNjusoLKytLbC1tTTKn9xbJIR4lbI1SviePXvo27dvhnlxcXFs3boVDw+PHAVx48YNPvzwQ1JSUvSmh4SEMGTIEHx9fRk5ciTBwcHMnj0bRVEYOHBgjuoqDOTeIlGYGbM3n1ptpvdEBJH3DE5KI0aMwN/fnz59+tCyZUtUKhXnz5/n6tWrfPfdd9y7d48vv/wyW5WnpKSwefNm5s2bh4WFRYb5QUFBVK1alTlz5gDQpEkTUlJSWLZsGf7+/i88cyvs5N4iUVgZszefk4MNVVxk8OlXyeCk5OnpyfLly/n888+ZNWsWAAsWLACgZMmSLFiwgPr162er8uDgYObOncvAgQMpVaoUU6ZM0c1LTEzk7NmzjBo1Sm+dNm3asGrVKkJCQrJdnxCicDBWb742DVyNEI3Ijmzdp9SwYUMOHTrExYsXCQsLQ6PRUKZMGdzd3TE3z/59uBUrVuTw4cM4OTnx448/6s27ffs2ewobOgAAE1lJREFUycnJuLrqHxTly5cHIDQ0NEdJSaUCBwebbK+Xl8zN1YDx4lKrzTAzM8PcQp3rslQqFSqVyuTKer5MIxVktLi026mlNlfnuOy82Gem9l4aexuNGhtgZqYyue+MgnyZ96WZJDk5mWvXrpGSksLbb7+NjY0N1apVo1q1armuvESJElnOi46OBtJ69j3P1tYWgJiYmFzXL4QQwrS8MCmtXbuWJUuW6BKApaUl77//PmPGjMnRmVF2aC8uZvVLOKfDGikKPDXSnePGov0VZqy4bG0t0Wg0pCSn5rosRVFQFMXkynq+TCMVZLS4tNupPXJTU1JzXHZe7DNTey+NvY1GjQ3QaBST+85wcrIrsGdLWWaWHTt2MHPmTMqUKUOnTp0wMzPj1KlTrF27Vje0UF6yt7cHMp4RaV9r5wshxOvAmI+BKagJCV6QlDZu3EjNmjVZt24dVlZWQNovkNGjR7N582bGjh2bp73fypUrh1qtJiwsTG+69nX6a01CCGHKjHmrRqMaZYyW4ExNlknp+vXrfPLJJ7qEBGlNaR988AEHDhzgxo0bVK5cOc8Cs7KywsvLi4MHD9KvXz9dM96BAwewt7fH3d09z+oWQoi8YKxbNRpWL2OEaExTlkkpPj4+0yYyZ2dnFEXh2bNneRoYwNChQ+nfvz+jR4+mS5cunDt3jtWrVzNmzBhsbEyrN0xumJml9RYy1tD9MgqDEMZR2rGI0T6b8rk0TJZJSaPRZLoD1eq0bpapqca78JoVb29vFi1aRFBQEMOHD6dUqVKMHz+eAQMG5Hndr5JKpeLSzSdEGOliqozCIIRxWFuZczE0wiifTflcGiZvu9BlQ9euXenatWuG6T4+Pvj4+ORDRK9WZHSi0Ybul1EYhDCeKCN9NuVzaZgXJqWoqCju3bunN+3p06cAPHnyJMM8gLfeesuI4QkhhChMXpiUZsyYwYwZMzKdN3bs2AzTVCoVFy9eNE5kQgghCp0sk1KXLl1eZRxCCCFE1kkpMDDwVcYhhBBCZO8hf0IIIUReMpned68b4w4ZopKuokIIgSSlHDPmkCFVXZ2MEJEQQrz+Cl1SUqkw2t3ZUTHGuX+hQpliuS5DCCEKgkKXlDQahTOXH+W6HLk7WwghjK/QJSVFQe7OFkIIEyW974QQQpgMSUpCCCFMhiQlIYQQJkOSkhBCCJMhSUkIIYTJkKQkhBDCZEhSEkIIYTIkKQkhhDAZkpSEEEKYDElKQgghTIYkJSGEECZDkpIQQgiTIUlJCCGEyXgtktKePXto164d1atXx9fXlx07duR3SEIIIfKAySelffv2MXbsWBo2bMiSJUuoW7cuEyZMYP/+/fkdmhBCCCMz+ecpzZ8/H19fXyZPngxA48aNefr0KQsXLuTdd9/N5+iEEEIYk0mfKd2+fZuwsDBat26tN71NmzbcuHGD27dv51NkQggh8oJKURQlv4PIyq+//srgwYPZuXMnlStX1k2/ePEiXbp0YeXKlTRp0iRbZSqKgjG2WKXCKOUYuyxjl2fKZaHRoJD7AlUqFajMjLudGgVNfHzaaxtrVKqc/f4z5f1vimUZuzxTLkulUhmnMBNj0s130dHRANjZ2elNt7W1BSAmJibbZapUKoz1XhrzmDD28WWqsRl1O9VqjFmcUbdTrcLMztY4ZZno/jfVsoxdnqmWVVCZdPOd9iQu/S8C7XQzM5MOXwghRDaZ9Le6vb09kPGMKDY2Vm++EEKIgsGkk5KrqysAYWFhetNv3bqlN18IIUTBYNJJqXz58jg7O2e4J+ngwYO4uLjw1ltv5VNkQggh8oJJd3QAGD58OJMmTcLBwYFmzZpx9OhR9u3bx4IFC/I7NCGEEEZm0l3CtX744QfWrFnD/fv3KVu2LIMHD6Zz5875HZYQQggjey2SkhBCiMLBpK8pCSGEKFwkKQkhhDAZkpSEEEKYDElKQgghTIYkJSGEECZDklIeyM2Tcu/fv0/t2rVZunSp3vTY2FhmzJjx/+3de0xT5xsH8K+C5TIuWsWZySCAFBxMLiIR5A4LF9kWBsPJwNsubsmmEFAuKhgYI6IkDMWRbIMwCC6CA/GyAGLAZYSxJQIqwS1BHRcZoSCjbCK07+8Pw/lZWjeLLW3h+SQn6Xl7znve9wntyznn7Xng7+8PV1dXxMXFobOzU9lNVxtFY3b+/HnY2dnJLJmZmdw209PTyM/Ph6+vL5ycnBATE0Mx+4+YiUQiHDt2DEFBQXB2dsbrr7+OiooKLIRJuqqI15NEIhH8/f1x6NAhVTR/0dD4H89qm5lMuTt27IC3tzeuXLmC5ORk6Ovr/2dSQsYY0tLS5D79PD09HVevXkVSUhIsLS1RUlKCnTt3ora2Fi+//LKqujMv5hKz7u5uWFpaIjc3V6p81apV3Ovs7GxUV1cjKSkJL730EkpKSrBr1y6cP3+eYvaEJ2OWkJCAzs5O7Nu3D9bW1mhpaUFWVhbGx8exd+9elfZJlVQVryfl5ORgYGBA6W1fdBhRqqCgIBYfHy9Vtn//fhYSEvKf+5aXlzMfHx8mEAhYYWEhV/7PP/+w9evXs5MnT3JlIpGIbdiwQapMW80lZrt375bZ50m9vb1s/fr1rKKigiubnJxkfn5+LD09/fkbrWaqiFlXVxcTCATs8uXLUuXp6els48aNz9dgNVNFvJ7U1NTEXFxc2MaNG1laWtpztXWxo8t3SvQ8mXJ7e3tx4sQJZGVlybw3NTUFiUQilVfK0NAQenp6ePDggfI6oAZzjVl3dzfs7OyeWm9rayvEYjGCg4O5Mh6PBz8/P1y7dk05jVcTVcWMMYZt27bBw8NDqtza2hrj4+MYHR19/sargariNWNsbAyHDx/GgQMHYGJiopQ2L2Y0KClRT08PANmnl1taWgIA7ty5I3c/iUSClJQUhIaGys2ka2xsjIiICJSWlqKzsxNjY2PIy8vDxMQEwsLClNyL+TWXmA0NDUEoFKKrqwshISFwcHBAcHCw1D2Cnp4emJqags/ny9Q7MDCAhw8fKrsr80ZVMXvllVeQmZmJ5cuXS+175coVmJmZyZRrC1XFa0ZWVhZsbGzwzjvvqKD1iw/dU1KiuWbKLS0tRW9vL4qKip5ad0JCAj788EO8/fbbAB4nPvzss8/g6uqqjKarzVxi1t3dDQDo6+vDgQMHoKenh5qaGiQnJ0MsFiMyMhIikUimzifrnZiYgL6+vlL7Ml9UFTN5SktL0dbWhrS0NK1Nv63KeDU0NKCxsREXLlzQ2vhoGhqUlIjNIVNuT08P8vPzUVBQ8NSkhUKhENHR0eDxeMjLy8PKlStRV1eHjIwMGBoaavXZ0lxi5ujoiKKiImzatIn7ovHy8oJQKMQXX3yByMjIp84We9rxtImqYjZbeXk5cnJyEBoaih07dii7G/NGVfEaGRlBRkYGDh48CHNzcxX3YvGgQUmJFM2UKxaLkZKSgpCQEGzZsgXT09PcexKJBNPT09DV1UVlZSUGBwfR0NDAzRrz8PDA+Pg4srKyEBISorWp4eeSXZjP58Pf31+m3NfXFy0tLRgZGYGRkRFXh7x65Z1FaQtVxWzmUqdEIsHx48dRXFyM8PBwHDt2TKsHcVXF6+jRo7CxsUFUVJTUZ5cxxn12ieK085tMQymaKff+/fvo6OhATU0NHBwcuAUATp48yb0eGBiAmZmZzDRmNzc3jIyMYGRkRCX9mQ9zyS58/fp1VFZWypRPTk5CV1cXxsbGsLa2xoMHDzA2NiZTr7m5OXg8nrK6MO9UFTPg8aSa+Ph4FBcXY8+ePThx4oTWf7mqKl51dXVoa2uDo6Mj99nt7+/HuXPn4ODggL6+PhX0ZuGjQUmJFM2Uu3r1alRVVcksALB9+3butZWVFYaHh3H37l2p/dvb22FkZARTU1PVdUrF5pJduL29HYcPH+au+wOP/7uvq6uDq6srli1bBk9PTwBAXV0dt82jR4/Q3NzMvaetVBUzAEhLS0N9fT1SU1ORnJys1WdIM1QVL3mfXTMzMwQGBqKqqgqrV69Wed8WIp2jR48eVXcjFhJjY2N8+eWXGB0dxZIlS1BSUoLq6mpkZGTA1tYWIyMjuH37NoyMjGBgYIAXX3xRZjl16hQCAwMRHh4OAFi3bh0uXryIS5cuYfny5RAKhSgtLcXZs2exb98+bNq0Sc29fj6KxIzH48Ha2hqXL1/GDz/8AD6fj/7+fuTk5KCjowN5eXlYs2YNTExM0N/fj2+++QYGBgYYHR1FZmYment7kZubq7UzyWaoImZNTU3Iy8tDQEAAwsPDMTg4KLXw+Xzo6Oiou+tzoop4yfvslpeXw9bWFtu3b9faWKmden4etbCdOXOGvfbaa8zR0ZGFhoay6upq7r1z584xgUDAWltbn7r/7B/PMsbY4OAgS0xMZO7u7szZ2Zm99dZb7OLFiyrrw3xTNGZ9fX0sISGBeXp6sg0bNrCYmBj2yy+/SNU5OTnJsrOzmYeHB3NycmIxMTGsvb193vqkasqOWUpKChMIBE9d7t+/P6/9UzZV/I3N5u/vTz+efU6UeZYQQojGoHtKhBBCNAYNSoQQQjQGDUqEEEI0Bg1KhBBCNAYNSoQQQjQGDUqEEEI0hnY/P4QsSikpKaiurpYqW7p0KQwMDGBjY4OYmBhERESoqXVzJxQKYWBgAENDQwD/7+ft27fV3DJC5g8NSkRrpaamYsWKFQAePwRTJBKhtrYWKSkpGB0dxZ49e9TcwmfX3NyMpKQkVFdXc4OSvIR7hCx0NCgRrRUUFCSTMiAqKgphYWEoLCxEbGys1jx4tbOzE3/99ZdUmYuLC1xcXNTUIkLUg+4pkQVFX18fAQEBEIlE+P3339XdHEKIguhMiSw4M0+2FovFCAgIgKenJyQSCS5cuIAVK1agpqYGfD4fv/76K06dOoWOjg4AwKuvvopPP/1U6gG3AQEB8PDwgLOzM4qKiiAUCmFvb4/4+Hhs3rxZ6rjPWt/s9tjb26O5uRkAEBgYCHd3d5SVlcm9p9Tf34/8/Hz8+OOPmJiYgJWVFWJjYxEdHc1tk5KSgvb2duTm5iI3Nxc3btzACy+8gLCwMCQlJWltxl2yONCgRBYUiUSCtrY28Hg82NjYAAAuXboEKysrHDp0CMPDw+Dz+WhsbMQnn3wCCwsLfPzxxwCAyspK7Nq1CwUFBQgMDOTqbGlpQW1tLeLi4mBmZoYzZ87g/fffR3FxMdzd3QFAofpmt2fLli3g8XhoaGhAamoqbG1t5fatt7cX0dHRmJycRGxsLMzMzFBfX48jR47g7t27OHjwILftyMgI3nvvPYSGhuKNN97AtWvXUFZWBh6PJ7UdIRpHzQ+EJURhycnJTCAQsFu3bjGhUMiEQiEbGhpi169fZ/v372cCgYB9/vnnjLHHT222t7dn9+7d4/afmppiPj4+zNfXl42Pj3PlY2NjzNvbm3l7e7NHjx5x+wsEAtbQ0MBtJxQKmZubG4uOjp5TfbPbwxhjBQUFTCAQsN7eXpl+zoiPj2f29vbs5s2bXJlYLGZ79+5ldnZ27LfffpPa79tvv5U6RmhoKPPy8lIk1ITMO7qnRLRWREQEPDw84OHhAS8vL2zbtg2NjY2Ii4tDYmIit52FhQUsLCy49a6uLgwODuLdd9+VSotuYmKC2NhY/Pnnn7h58yZXbm1tjaCgIG6dz+fjzTffREdHB4RCocL1zW7PsxCLxWhqaoKXlxeXkRh4PBX+o48+AmMMV69eldonNDRUat3e3h5CoVCh4xIy3+jyHdFax48fx6pVqwA8/nI2MTGBjY0N9PT0pLZbuXKl1PpMmmp5abCtra0BPE5BPzPzbd26dTLbWVpagjGG/v5+heub3Z5nMTo6ir///lvuMWYuU/b390uV8/l8qXUejwexWKzwsQmZTzQoEa3l6uoqMyVcntkZQNm/pBCbeW8mPfjs1zNmvtx1dHQUrm8uGUn/7RgSiQQAZKa/L11KF0KI9qFBiSw6a9euBQD09PTIvHfnzh0AwJo1a7iyP/74Q2a7e/fuQUdHB+bm5piamlKovrng8/kwNDRU6TEI0QT0rxRZdBwcHLhZdCKRiCsXiUSoqKiAmZkZHB0dufIbN26gvb2dWx8eHkZtbS02b94MU1NTheuTZ+as5mlnRDo6OvD29sZPP/2EW7duceWMMXz11VdYsmQJ/Pz8FIoDIZqIzpTIorNs2TIcOXIE8fHxiIyMRFRUFACgqqoKQ0NDKCgokLr0xePx8MEHH2Dnzp3Q19dHRUUFJBIJN7Va0frkmbn/8/XXX8PHx0dqCvmMpKQk/Pzzz4iLi+Ompzc0NKC1tRW7d++We++LEG1DgxJZlIKDg1FcXIzTp0+jsLAQurq6cHJyQnZ2Ntzc3KS2dXZ2xtatW3H69GmMj4/Dzc0NiYmJsLe3n1N98mzduhX19fX4/vvv0dbWJndQsrCwwNmzZ5Gfn4/vvvsODx8+hI2NDbKzs7mBkBBtt4T92x1UQha5gIAArF27FmVlZepuCiGLAt1TIoQQojFoUCKEEKIxaFAihBCiMeieEiGEEI1BZ0qEEEI0Bg1KhBBCNAYNSoQQQjQGDUqEEEI0Bg1KhBBCNAYNSoQQQjTG/wDzHoKQX/f4TAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "bins = bins=np.arange(0.47, 0.55, 0.005)\n",
    "plt.hist(srs_simulations, bins=bins, alpha=0.7, density=True, label='srs')\n",
    "plt.hist(big_simulations, bins=bins, alpha=0.7, density=True, label='big')\n",
    "\n",
    "plt.title('Proportion of Obama Voters for SRS and Big Data')\n",
    "plt.xlabel('Proportion')\n",
    "plt.ylabel('Percent per unit')\n",
    "plt.xlim(0.47, 0.55)\n",
    "plt.ylim(0, 50)\n",
    "plt.axvline(x=obama_true, color='r', label='truth')\n",
    "plt.legend()\n",
    "plt.tight_layout();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As you can see, the SRS distribution is spread out but centered around the true population proportion of Obama voters. The distribution created by the large non-random sample, on the other hand, is very narrow but not a single simulated sample produces the true population proportion. If we attempt to create confidence intervals using the non-random sample, none of them will contain the true population proportion. To make matters worse, the confidence interval will be extremely narrow because the sample is so large. We will be very sure of an ultimately incorrect estimation.\n",
    "\n",
    "In fact, when our sampling method is biased our estimations will often first become **worse** as we collect more data since we will be more certain about an incorrect result. In order to make accurate estimations using an even slightly biased sampling method, the sample must be nearly as large as the population itself, a typically impractical requirement. **The quality of the data matters much more than its size.**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Takeaways\n",
    "\n",
    "Before accepting the results of a data analysis, it pays to carefully inspect the quality of the data. In particular, we must ask the following questions:\n",
    "\n",
    "1. Is the data a census (does it include the entire population of interest)? If so, we can just compute properties of the population directly without having to use inference.\n",
    "1. If the data is a sample, how was the sample collected? To properly conduct inference, the sample should have been collected according to a completely described probability sampling method.\n",
    "1. What changes were made to the data before producing results? Do any of these changes affect the quality of the data?\n",
    "\n",
    "For the curious reader interested in a deeper comparison between random and large non-random samples, we suggest watching [this lecture by the statistician Xiao-Li Meng](https://www.youtube.com/watch?v=yz3jOIHLYhU)."
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Tags",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  },
  "toc": {
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": true,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
